<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //面向对象特性: 1.封装 2.继承 3.多态
      //多态: 一个行为(方法)在不同的时候可以表现出不同的逻辑

      //学生类的构造函数
      function Student(name) {
        this.name = name;
      }
      //做什么事情方法
      Student.prototype.dosomething = function () {
        console.log("在学习");
      };

      //工作人员类的构造函数
      function Worker(name) {
        this.name = name;
      }
      Worker.prototype.dosomething = function () {
        console.log("在工作");
      };

      //定义一个方法  调用 同一个类的方法,不同的类的同一个方法可以呈现不同的形态
      function getsomething(obj) {
        obj.dosomething(); //会呈现不同的形态
      }

      var zhangsan = new Student("张三");
      var lisi = new Worker("李四");

      getsomething(zhangsan);
      getsomething(lisi);
    </script>
  </body>
</html>
